home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / lib / python2.6 / lib2to3 / fixes / fix_sys_exc.pyc (.txt) < prev    next >
Encoding:
Python Compiled Bytecode  |  2009-04-20  |  1.7 KB  |  31 lines

  1. # Source Generated with Decompyle++
  2. # File: in.pyc (Python 2.6)
  3.  
  4. '''Fixer for sys.exc_{type, value, traceback}
  5.  
  6. sys.exc_type -> sys.exc_info()[0]
  7. sys.exc_value -> sys.exc_info()[1]
  8. sys.exc_traceback -> sys.exc_info()[2]
  9. '''
  10. from  import fixer_base
  11. from fixer_util import Attr, Call, Name, Number, Subscript, Node, syms
  12.  
  13. class FixSysExc(fixer_base.BaseFix):
  14.     exc_info = [
  15.         'exc_type',
  16.         'exc_value',
  17.         'exc_traceback']
  18.     PATTERN = "\n              power< 'sys' trailer< dot='.' attribute=(%s) > >\n              " % '|'.join((lambda .0: for e in .0:
  19. "'%s'" % e)(exc_info))
  20.     
  21.     def transform(self, node, results):
  22.         sys_attr = results['attribute'][0]
  23.         index = Number(self.exc_info.index(sys_attr.value))
  24.         call = Call(Name('exc_info'), prefix = sys_attr.get_prefix())
  25.         attr = Attr(Name('sys'), call)
  26.         attr[1].children[0].set_prefix(results['dot'].get_prefix())
  27.         attr.append(Subscript(index))
  28.         return Node(syms.power, attr, prefix = node.get_prefix())
  29.  
  30.  
  31.